// 1.导入 MySQL 模块
const mysql = require('mysql');
// 2. 建立与 MYSQL 数据库的连接
const db = mysql.createPool({
    host: '127.0.0.1',  //数据库的 IP 地址
    user: 'root',   // 登录数据库的账号
    password: '123456',  // 登录数据库的密码
    database: 'textDemo'    // 指定操作的数据库名
})

// 检查 MySQL 模块能否正常工作
// db.query('select * from student', (err, results) => {
//     if (err) {
//         return console.log(err.message);
//     }
//     // 若能成功执行 sql 语句
//     console.log(results);
// })


// 查询 users 表中所有的数据
// const sqlStr = 'select * from student'
// db.query(sqlStr, (err, results) => {
//   // 查询数据失败
//   if (err) return console.log(err.message)
//   // 查询数据成功
//   // 注意：如果执行的是 select 查询语句，则执行的结果是数组
//   console.log(results)
// })



// 插入数据

// 1. 要插入到 student 表中的数据对象
// const user = { id:'032040899',name: "石浩", age: '20', sex: '男'}
// // 2.待执行的 SQL 语句， 其中英文的 ？表示占位符
// const sqlStr = 'insert into student(id,name,age,sex) values(?,?,?,?)';
// // 3.使用数组的形式，依次为？占位符指定具体的值
// db.query(sqlStr,[user.id, user.name,user.age,user.sex], (err, results) => {
//     if(err) return console.log(err.message); 
//     if(results.affectedRows === 1) {
//         console.log('数据插入成功！！');
//     }
// })

// 演示插入数据的便捷方式
// const user = { id:'032022112' , name:'大凡' , age:'18', sex:'男'}
// // 定义待执行的 SQL 语句
// const sqlStr = 'insert into student set ?'
// // 执行 SQL 语句
// db.query(sqlStr, user, (err, results) => {
//     if (err) return console.log(err.message)
//     if (results.affectedRows === 1) {
//       console.log('插入数据成功')
//     }
//   })


// 更新数据

// 演示如何更新用户的信息
//  const user = { id: 172040528, name: '秣凡'}
// // 定义 SQL 语句
// const sqlStr = 'update student set name=? where id=?'
// // 执行 SQL 语句
// db.query(sqlStr, [user.name,user.id], (err, results) => {
//   if (err) return console.log(err.message)
//   // 注意：执行了 update 语句之后，执行的结果，也是一个对象，可以通过 affectedRows 判断是否更新成功
//   if (results.affectedRows === 1) {
//     console.log('更新成功')
//   }
// }) 

// 演示更新数据的便捷方式
// const user = { id: 172040528, name: '秣凡'}
// // 定义 SQL 语句
// const sqlStr = 'update student set ? where id=?'
// // 执行 SQL 语句
// db.query(sqlStr, [user, user.id], (err, results) => {
//   if (err) return console.log(err.message)
//   if (results.affectedRows === 1) {
//     console.log('更新数据成功')
//   }
// })



// 删除数据

// 删除 id 为 '32022112', '大凡', '18', '男' 的用户
// const sqlStr = 'delete from student where id=?'
// db.query(sqlStr, 32022112, (err, results) => {
//   if (err) return console.log(err.message)
//   // 注意：执行 delete 语句之后，结果也是一个对象，也会包含 affectedRows 属性
//   if (results.affectedRows === 1) {
//     console.log('删除数据成功')
//   }
// })

// 标记删除
const sqlStr = 'update student set status=? where id=?'
db.query(sqlStr, [1, 32022112], (err, results) => {
  if (err) return console.log(err.message)
  if (results.affectedRows === 1) {
    console.log('标记删除成功')
  }
})